Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Node / ReticulumProjects / MeshChatX.git / files / scripts / e2e / start-e2e-stack.sh

Displaying Raw • Download


scripts/e2e/start-e2e-stack.sh c71b5a65c1e43bd6e592a79d85005652b035b6b2 (c71b5a65) Text, 1.62 KB

T8b949e#!/usr/bin/env bash
Tffa657set -euo pipefail

Te6edf3ROOTTff7b72=Ta5d6ff"Tff7b72$(Tffa657cd Ta5d6ff"Tff7b72$(dirname Ta5d6ff"Tffd700${Te6edf3BASH_SOURCETb4b4b4[0]Tffd700}Ta5d6ff"Tff7b72)Ta5d6ff/../..Ta5d6ff" Tff7b72&& Tffa657pwdTff7b72)Ta5d6ff"
Tffa657cd Ta5d6ff"Te6edf3$ROOTTa5d6ff"

Tffa657export Te6edf3E2E_BACKEND_PORTTff7b72=Ta5d6ff"Tffd700${Te6edf3E2E_BACKEND_PORTTff7b72:-Te6edf318079Tffd700}Ta5d6ff"
Te6edf3BACKEND_PORTTff7b72=Ta5d6ff"Te6edf3$E2E_BACKEND_PORTTa5d6ff"
Te6edf3VITE_HOSTTff7b72=Ta5d6ff"Tffd700${Te6edf3E2E_VITE_HOSTTff7b72:-Te6edf3127Tb4b4b4.0.0.1Tffd700}Ta5d6ff"
Te6edf3VITE_PORTTff7b72=Ta5d6ff"Tffd700${Te6edf3E2E_VITE_PORTTff7b72:-Te6edf35173Tffd700}Ta5d6ff"

Te6edf3TMPDIRTff7b72=Ta5d6ff"Tff7b72$(mktemp -d -t meshchat-e2e-XXXXXXTff7b72)Ta5d6ff"
Tffa657export Te6edf3MESHCHAT_LOG_DIRTff7b72=Ta5d6ff"Te6edf3$TMPDIRTa5d6ff/logsTa5d6ff"
mkdir -p Ta5d6ff"Te6edf3$MESHCHAT_LOG_DIRTa5d6ff"

cleanupTff7b72(Tff7b72) Tff7b72{
Tff7b72if Tff7b72[Tff7b72[ -n Ta5d6ff"Tffd700${Te6edf3BACK_PIDTff7b72:-Tffd700}Ta5d6ff" Tff7b72]Tff7b72] Tff7b72&& Tffa657kill -0 Ta5d6ff"Te6edf3$BACK_PIDTa5d6ff" T79c0ff2>/dev/nullTb4b4b4; Tff7b72then
Tffa657kill Ta5d6ff"Te6edf3$BACK_PIDTa5d6ff" T79c0ff2>/dev/null Tff7b72|| Tffa657true
Tffa657wait Ta5d6ff"Te6edf3$BACK_PIDTa5d6ff" T79c0ff2>/dev/null Tff7b72|| Tffa657true
Tff7b72fi
rm -rf Ta5d6ff"Te6edf3$TMPDIRTa5d6ff"
Tff7b72}

Tffa657trap cleanup EXIT INT TERM

Tffa657echo Ta5d6ff"Ta5d6ffE2E: starting MeshChat backend on 127.0.0.1:Tffd700${Te6edf3BACKEND_PORTTffd700}Ta5d6ff (isolated storage under Tffd700${Te6edf3TMPDIRTffd700}Ta5d6ff)Ta5d6ff"

poetry run python -m meshchatx.meshchat Tffea00\
--headless Tffea00\
--no-https Tffea00\
--host T79c0ff127.0.0.1 Tffea00\
--port Ta5d6ff"Tffd700${Te6edf3BACKEND_PORTTffd700}Ta5d6ff" Tffea00\
--storage-dir Ta5d6ff"Te6edf3$TMPDIRTa5d6ff/storageTa5d6ff" Tffea00\
--reticulum-config-dir Ta5d6ff"Te6edf3$TMPDIRTa5d6ff/rnsTa5d6ff" Tffea00\
Tb4b4b4&
Te6edf3BACK_PIDTff7b72=Te6edf3$!

Tffa657echo Ta5d6ff"E2E: waiting for /api/v1/status (HTTP 200)..."
Te6edf3readyTff7b72=T79c0ff0
Tff7b72for i Tff7b72in Tff7b72$(seq T79c0ff1 T79c0ff240Tff7b72)Tb4b4b4; Tff7b72do
Tff7b72if ! Tffa657kill -0 Ta5d6ff"Te6edf3$BACK_PIDTa5d6ff" T79c0ff2>/dev/nullTb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"E2E: backend process exited before becoming ready"
Tffa657exit T79c0ff1
Tff7b72fi
Tff7b72if curl -sf Ta5d6ff"Ta5d6ffhttp://127.0.0.1:Tffd700${Te6edf3BACKEND_PORTTffd700}Ta5d6ff/api/v1/statusTa5d6ff" >/dev/null T79c0ff2>Tb4b4b4&T79c0ff1Tb4b4b4; Tff7b72then
Te6edf3readyTff7b72=T79c0ff1
Tffa657echo Ta5d6ff"Ta5d6ffE2E: backend ready after Tffd700${Te6edf3iTffd700}Ta5d6ffsTa5d6ff"
Tff7b72break
Tff7b72fi
sleep T79c0ff1
Tff7b72done

Tff7b72if Tff7b72[Tff7b72[ Ta5d6ff"Te6edf3$readyTa5d6ff" -ne T79c0ff1 Tff7b72]Tff7b72]Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"Ta5d6ffE2E: backend did not respond on :Tffd700${Te6edf3BACKEND_PORTTffd700}Ta5d6ff within 240sTa5d6ff"
Tffa657exit T79c0ff1
Tff7b72fi

Tffa657echo Ta5d6ff"Ta5d6ffE2E: starting Vite on Tffd700${Te6edf3VITE_HOSTTffd700}Ta5d6ff:Tffd700${Te6edf3VITE_PORTTffd700}Ta5d6ff"
pnpm Tffa657exec vite --host Ta5d6ff"Tffd700${Te6edf3VITE_HOSTTffd700}Ta5d6ff" --port Ta5d6ff"Tffd700${Te6edf3VITE_PORTTffd700}Ta5d6ff" Tb4b4b4&
Te6edf3VITE_PIDTff7b72=Te6edf3$!
Tffa657wait Ta5d6ff"Te6edf3$VITE_PIDTa5d6ff"


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────